#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QUdpSocket>
#include <QApplication>
#include <QDebug>
#include <QByteArray>
#include <QtNetwork/QUdpSocket>
#include <QtCore/QCoreApplication>
#include <QTcpSocket>
#include <QTimer>
#include <QFile>
#include <QJsonDocument>//提供了一种读取和写入 JSON 文档的方法。
#include <QJsonObject>
#include "homepage.h"

namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
    QHostAddress IP;
    quint16 Port;
    HomePage *h;
    void SendFile();//下发点表

private:
    Ui::Dialog *ui;
    QUdpSocket *UdpSofd;//UDP套接字
    QTcpSocket *TcpSofd; // TCP套接字
    QTcpSocket *fliesocket;//tcp文件对象
    QTimer *timer; //心跳包定时器
    QJsonObject json;//构造一个空的 JSON 对象,用于进行点表下发

private slots:
    void SofdSend(); //发广播
    void GetFirstText();//接收设备第一次回复的消息
    void ConnectToServer();//连接TCP服务器
    void ReadServerResponse(); // 读取服务器响应
    void heartTimer();//心跳包定时器槽函数
};

#endif // DIALOG_H
